﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ЗначенияПоказателейСхемМотивацииПереопределяемый
	{
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ ОБЪЕКТА

		public object Автозаполнение(/*Организация, ПериодДействия, ТаблицаЗапроса = Неопределено, Сотрудники = Неопределено, Показатели = Неопределено, ОдинВидРасчета = Ложь, ИзДокумента = Ложь*/)
		{
			//СписокНедоступныхВозможностейИзменения = Новый Массив;
			//СписокНедоступныхВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.ПустаяСсылка());
			//СписокНедоступныхВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.НеИзменяется);
			//СписокНедоступныхВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.ИзменяетсяПриРасчете);
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("ПарамВозможностьИзменения", СписокНедоступныхВозможностейИзменения);
			//Запрос.УстановитьПараметр("ПарамДата", ПериодДействия);
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("ТаблицаЗапроса",ТаблицаЗапроса);
			if(true/*ЗначениеЗаполнено(Организация)*/)
			{
				//СписокНедоступныхВозможностейИзменения = Новый Массив;
				//СписокНедоступныхВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.ПустаяСсылка());
				//СписокНедоступныхВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.НеИзменяется);
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("ПарамВозможностьИзменения", СписокНедоступныхВозможностейИзменения);
				//Запрос.УстановитьПараметр("ПарамДата", ПериодДействия);
				//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
				//Запрос.УстановитьПараметр("ОбособленноеПодразделение", Организация);
				//Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(ПериодДействия));
				//Запрос.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначения.ГоловнаяОрганизация(Организация));
				//Запрос.УстановитьПараметр("Сотрудники",Сотрудники);
				//Запрос.УстановитьПараметр("Показатели",Показатели);
				//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
				/*Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
		|	РаботникиОрганизаций.Сотрудник КАК Сотрудник,
		|	РаботникиОрганизаций.ПодразделениеОрганизации КАК Подразделение
		|ПОМЕСТИТЬ ВТСотрудники
		|ИЗ
		|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
		|			&ПарамДата,
		|			Организация = &ГоловнаяОрганизация";*/
				if(true/*ЗначениеЗаполнено(Сотрудники)*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|				И Сотрудник В (&Сотрудники)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|) КАК РаботникиОрганизаций
		|ГДЕ
		|	ВЫБОР
		|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= &ПарамДата
		|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|				ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения
		|			ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение
		|		КОНЕЦ = &ОбособленноеПодразделение
		|	И ВЫБОР
		|			КОГДА РаботникиОрганизаций.ПериодЗавершения <= &ПарамДата
		|					И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|				ТОГДА РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения
		|			ИНАЧЕ РаботникиОрганизаций.ПричинаИзмененияСостояния
		|		КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
		|
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ
		|	РаботникиОрганизаций.Сотрудник,
		|	РаботникиОрганизаций.ПодразделениеОрганизации
		|ИЗ
		|	РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
		|ГДЕ
		|	РаботникиОрганизаций.Период > &ПарамДата
		|	И РаботникиОрганизаций.Период <= &КонецМесяца
		|	И РаботникиОрганизаций.Организация = &ГоловнаяОрганизация
		|	И РаботникиОрганизаций.ОбособленноеПодразделение = &ОбособленноеПодразделение";*/
				if(true/*ЗначениеЗаполнено(Сотрудники)*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|	И РаботникиОрганизаций.Сотрудник В(&Сотрудники)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "
		|
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ
		|	Работники.Сотрудник,
		|	ПериодыПерекрытия.ПодразделениеОрганизации
		|ИЗ
		|	РегистрСведений.РаботникиОрганизаций КАК Работники
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ПериодыПерекрытия
		|		ПО (ПериодыПерекрытия.Период <= Работники.ПериодЗавершения)
		|			И (ПериодыПерекрытия.Период > Работники.Период)
		|			И (ПериодыПерекрытия.Сотрудник = Работники.Сотрудник)
		|			И (ПериодыПерекрытия.Организация = &ГоловнаяОрганизация)
		|ГДЕ
		|	Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|	И Работники.ПериодЗавершения > &ПарамДата
		|	И Работники.ПериодЗавершения <= &КонецМесяца
		|	И Работники.Организация = &ГоловнаяОрганизация
		|	И Работники.ОбособленноеПодразделениеЗавершения = &ОбособленноеПодразделение
		|	И ПериодыПерекрытия.Период ЕСТЬ NULL";*/
				if(true/*ЗначениеЗаполнено(Сотрудники)*/)
				{
					/*Запрос.Текст = Запрос.Текст + "
		|	И Работники.Сотрудник В(&Сотрудники)";*/
				}
				/*Запрос.Текст = Запрос.Текст + "	
		|
		|ИНДЕКСИРОВАТЬ ПО
		|	Сотрудник
		|;
		|ВЫБРАТЬ
		|	ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 1 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель1,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 2 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель2,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 3 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель3,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 4 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель4,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 5 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель5,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 6 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель6,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 1 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный1,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 2 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный2,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 3 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный3,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 4 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный4,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 5 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный5,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 6 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный6,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1) КАК Значение1,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель2) КАК Значение2,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель3) КАК Значение3,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель4) КАК Значение4,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель5) КАК Значение5,
		|	СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель6) КАК Значение6,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта1) КАК Валюта1,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта2) КАК Валюта2,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта3) КАК Валюта3,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта4) КАК Валюта4,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта5) КАК Валюта5,
		|	МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Валюта6) КАК Валюта6
		|ПОМЕСТИТЬ ВТПлановые
		|ИЗ
		|	РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
		|			&ПарамДата,
		|			Организация = &ОбособленноеПодразделение
		|				И Сотрудник В
		|					(ВЫБРАТЬ
		|						ВТСотрудники.Сотрудник
		|					ИЗ
		|						ВТСотрудники)) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
		|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели
		|		ПО 	(Показатели.Ссылка = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета)
		|СГРУППИРОВАТЬ ПО
		|	ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
		|	Показатели.НомерСтроки,
		|	Показатели.Показатель;
		|ВЫБРАТЬ
		|	ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.ФизЛицо КАК Сотрудник,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 1 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель1,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 2 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель2,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 3 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель3,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 4 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель4,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 5 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель5,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 6 Тогда Показатели.Показатель ИНАЧЕ NULL КОНЕЦ КАК Показатель6,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 1 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный1,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 2 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный2,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 3 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный3,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 4 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный4,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 5 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный5,
		|	ВЫБОР КОГДА Показатели.НомерСтроки = 6 Тогда Показатели.Показатель.Предопределенный ИНАЧЕ NULL КОНЕЦ КАК Предопределенный6,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель1) КАК Значение1,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель2) КАК Значение2,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель3) КАК Значение3,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель4) КАК Значение4,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель5) КАК Значение5,
		|	СУММА(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Показатель6) КАК Значение6,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта1) КАК Валюта1,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта2) КАК Валюта2,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта3) КАК Валюта3,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта4) КАК Валюта4,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта5) КАК Валюта5,
		|	МАКСИМУМ(ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.Валюта6) КАК Валюта6
		|ПОМЕСТИТЬ ВТПлановыеУд
		|ИЗ
		|	РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций.СрезПоследних(
		|			&ПарамДата,
		|			Организация = &ОбособленноеПодразделение
		|				И ФизЛицо В
		|					(ВЫБРАТЬ
		|						ВТСотрудники.Сотрудник.Физлицо
		|					ИЗ
		|						ВТСотрудники)) КАК ПлановыеУдержанияРаботниковОрганизацийСрезПоследних
		|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели
		|		ПО (Показатели.Ссылка = ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.ВидРасчета)
		|
		|СГРУППИРОВАТЬ ПО
		|	ПлановыеУдержанияРаботниковОрганизацийСрезПоследних.ФизЛицо,
		|	Показатели.НомерСтроки,
		|	Показатели.Показатель;

		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	&ОбособленноеПодразделение КАК Организация,
		|	Сотрудники.Подразделение КАК Подразделение,
		|	&ПарамДата КАК ПериодДействия,
		|	ВложенныйЗапрос.Сотрудник КАК Сотрудник,
		|	ВложенныйЗапрос.Показатель КАК Показатель,
		|	СУММА(ЕСТЬNULL(ВложенныйЗапрос.Значение, 0)) КАК Значение,
		|	ВложенныйЗапрос.Валюта КАК Валюта
		|ПОМЕСТИТЬ ВТПлановыеПоказатели
		|ИЗ
		|	(";*/
				/*Запрос.Текст = Запрос.Текст + "
		|	
		|	ОБЪЕДИНИТЬ ВСЕ
		|	
		|	ВЫБРАТЬ
		|		Сотрудники.Сотрудник,
		|		Показатели.Показатель,
		|		СУММА(Показатели.Значение),
		|		Показатели.Валюта
		|	ИЗ
		|		(";*/
				/*Запрос.Текст = Запрос.Текст + ") КАК Показатели
		|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|				СписокСотрудников.Сотрудник КАК Сотрудник,
		|				СписокСотрудников.Физлицо КАК Физлицо
		|			ИЗ
		|				(ВЫБРАТЬ
		|					МАКСИМУМ(РаботникиОсновноеМесто.Сотрудник) КАК Сотрудник,
		|					РаботникиОсновноеМесто.Сотрудник.Физлицо КАК Физлицо,
		|					1 КАК Приоритет
		|				ИЗ
		|					РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ПарамДата, Организация = &ГоловнаяОрганизация И	Сотрудник В
		|										(ВЫБРАТЬ
		|											ВТСотрудники.Сотрудник
		|												ИЗ
		|											ВТСотрудники) И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)) КАК РаботникиОсновноеМесто
		|				ГДЕ
		|					ВЫБОР
		|							КОГДА РаботникиОсновноеМесто.ПериодЗавершения <= &ПарамДата
		|									И РаботникиОсновноеМесто.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|								ТОГДА РаботникиОсновноеМесто.ПричинаИзмененияСостоянияЗавершения
		|							ИНАЧЕ РаботникиОсновноеМесто.ПричинаИзмененияСостояния
		|						КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
		|				
		|				СГРУППИРОВАТЬ ПО
		|					РаботникиОсновноеМесто.Сотрудник.Физлицо
		|				
		|				ОБЪЕДИНИТЬ
		|				
		|				ВЫБРАТЬ
		|					МАКСИМУМ(РаботникиСовместительство.Сотрудник),
		|					РаботникиСовместительство.Сотрудник.Физлицо,
		|					2
		|				ИЗ
		|					РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ПарамДата,  Организация = &ГоловнаяОрганизация И	Сотрудник В
		|										(ВЫБРАТЬ
		|											ВТСотрудники.Сотрудник
		|												ИЗ
		|											ВТСотрудники) И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)) КАК РаботникиСовместительство
		|				ГДЕ
		|					ВЫБОР
		|							КОГДА РаботникиСовместительство.ПериодЗавершения <= &ПарамДата
		|									И РаботникиСовместительство.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|								ТОГДА РаботникиСовместительство.ПричинаИзмененияСостоянияЗавершения
		|							ИНАЧЕ РаботникиСовместительство.ПричинаИзмененияСостояния
		|						КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
		|				
		|				СГРУППИРОВАТЬ ПО
		|					РаботникиСовместительство.Сотрудник.Физлицо
		|				
		|				ОБЪЕДИНИТЬ
		|				
		|				ВЫБРАТЬ
		|					МАКСИМУМ(СотрудникиДУ.Ссылка),
		|					СотрудникиДУ.Физлицо,
		|					ВЫБОР
		|						КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
		|							ТОГДА 4
		|						ИНАЧЕ 5
		|					КОНЕЦ
		|				ИЗ
		|					Справочник.СотрудникиОрганизаций КАК СотрудникиДУ
		|				ГДЕ
		|					Организация = &ГоловнаяОрганизация И
		|						СотрудникиДУ.Ссылка В
		|								(ВЫБРАТЬ
		|									ВТСотрудники.Сотрудник
		|								ИЗ
		|									ВТСотрудники)
		|				
		|				СГРУППИРОВАТЬ ПО
		|					СотрудникиДУ.Физлицо,
		|					ВЫБОР
		|						КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
		|							ТОГДА 4
		|						ИНАЧЕ 5
		|					КОНЕЦ) КАК СписокСотрудников
		|					ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|						СписокФизическихЛиц.Физлицо КАК Физлицо,
		|						МИНИМУМ(СписокФизическихЛиц.Приоритет) КАК Приоритет
		|					ИЗ
		|						(ВЫБРАТЬ
		|							РаботникиОсновноеМесто.Сотрудник.Физлицо КАК Физлицо,
		|							1 КАК Приоритет
		|						ИЗ
		|							РегистрСведений.РаботникиОрганизаций.СрезПоследних(
		|									&ПарамДата,
		|									Организация = &ГоловнаяОрганизация
		|									И	Сотрудник В
		|										(ВЫБРАТЬ
		|											ВТСотрудники.Сотрудник
		|												ИЗ
		|											ВТСотрудники)
		|									И	Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
		|										И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)) КАК РаботникиОсновноеМесто
		|						ГДЕ
		|							ВЫБОР
		|									КОГДА РаботникиОсновноеМесто.ПериодЗавершения <= &ПарамДата
		|											И РаботникиОсновноеМесто.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|										ТОГДА РаботникиОсновноеМесто.ПричинаИзмененияСостоянияЗавершения
		|									ИНАЧЕ РаботникиОсновноеМесто.ПричинаИзмененияСостояния
		|								КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
		|						
		|						ОБЪЕДИНИТЬ
		|						
		|						ВЫБРАТЬ
		|							РаботникиСовместительство.Сотрудник.Физлицо,
		|							2
		|						ИЗ
		|							РегистрСведений.РаботникиОрганизаций.СрезПоследних(
		|									&ПарамДата,
		|									Организация = &ГоловнаяОрганизация
		|									И	Сотрудник В
		|										(ВЫБРАТЬ
		|											ВТСотрудники.Сотрудник
		|												ИЗ
		|											ВТСотрудники)
		|									И	Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
		|										И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)) КАК РаботникиСовместительство
		|						ГДЕ
		|							ВЫБОР
		|									КОГДА РаботникиСовместительство.ПериодЗавершения <= &ПарамДата
		|											И РаботникиСовместительство.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|										ТОГДА РаботникиСовместительство.ПричинаИзмененияСостоянияЗавершения
		|									ИНАЧЕ РаботникиСовместительство.ПричинаИзмененияСостояния
		|								КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
		|						
		|						ОБЪЕДИНИТЬ
		|						
		|						ВЫБРАТЬ
		|							СотрудникиДУ.Физлицо,
		|							ВЫБОР
		|								КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
		|									ТОГДА 4
		|								ИНАЧЕ 5
		|							КОНЕЦ
		|						ИЗ
		|							Справочник.СотрудникиОрганизаций КАК СотрудникиДУ
		|						ГДЕ
		|								Организация = &ГоловнаяОрганизация И
		|								СотрудникиДУ.Ссылка В
		|									(ВЫБРАТЬ
		|										ВТСотрудники.Сотрудник
		|									ИЗ
		|										ВТСотрудники)) КАК СписокФизическихЛиц
		|					
		|					СГРУППИРОВАТЬ ПО
		|						СписокФизическихЛиц.Физлицо) КАК СписокФизическихЛиц
		|					ПО СписокСотрудников.Физлицо = СписокФизическихЛиц.Физлицо
		|						И СписокСотрудников.Приоритет = СписокФизическихЛиц.Приоритет) КАК Сотрудники
		|			ПО Показатели.Сотрудник = Сотрудники.Физлицо
		|	
		|	СГРУППИРОВАТЬ ПО
		|		Показатели.Показатель,
		|		Сотрудники.Сотрудник,
		|		Показатели.Валюта) КАК ВложенныйЗапрос
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТСотрудники КАК Сотрудники
		|		ПО (Сотрудники.Сотрудник = ВложенныйЗапрос.Сотрудник)
		|
		|СГРУППИРОВАТЬ ПО
		|	Сотрудники.Подразделение,
		|	ВложенныйЗапрос.Сотрудник,
		|	ВложенныйЗапрос.Показатель,
		|	ВложенныйЗапрос.Валюта
		|
		|ИНДЕКСИРОВАТЬ ПО
		|	Показатель,
		|	Сотрудник,
		|	Подразделение";*/
				//Запрос.Выполнить();
				if(true/*ЗначениеЗаполнено(ТаблицаЗапроса)*/)
				{
					//Запрос.УстановитьПараметр("ТаблицаЗапроса",ТаблицаЗапроса);
					/*Запрос.Текст = 
			"ВЫБРАТЬ РАЗЛИЧНЫЕ
			|	Таблица.ВидПоказателя,
			|	Таблица.Показатель,
			|	Таблица.Сотрудник КАК Сотрудник
			|ПОМЕСТИТЬ ВТПоказателиИСотрудники
			|ИЗ
			|	&ТаблицаЗапроса КАК Таблица
			|
			|ИНДЕКСИРОВАТЬ ПО
			|	Сотрудник
			|;
			|
			|////////////////////////////////////////////////////////////////////////////////
			|ВЫБРАТЬ РАЗЛИЧНЫЕ
			|	&ОбособленноеПодразделение КАК Организация,
			|	ИтоговаяТаблица.Подразделение КАК Подразделение,
			|	ИтоговаяТаблица.Сотрудник КАК Сотрудник,
			|	ИтоговаяТаблица.Показатель КАК Показатель,
			|	ИтоговаяТаблица.ПериодДействия КАК ПериодДействия,
			|	ИтоговаяТаблица.Валюта КАК Валюта,
			|	СУММА(ЕСТЬNULL(ИтоговаяТаблица.ФактическоеЗначение, ИтоговаяТаблица.ПлановоеЗначение)) КАК Значение
			|ИЗ
			|	(ВЫБРАТЬ
			|		ВложеннаяТаблица.Показатель КАК Показатель,
			|		ВложеннаяТаблица.Подразделение КАК Подразделение,
			|		ВложеннаяТаблица.Сотрудник КАК Сотрудник,
			|		ВложеннаяТаблица.ПериодДействия КАК ПериодДействия,
			|		МАКСИМУМ(ВложеннаяТаблица.Валюта) КАК Валюта,
			|		МАКСИМУМ(ВложеннаяТаблица.ФактическоеЗначение) КАК ФактическоеЗначение,
			|		МАКСИМУМ(ВложеннаяТаблица.ПлановоеЗначение) КАК ПлановоеЗначение
			|	ИЗ
			|		(ВЫБРАТЬ
			|			Факт.Показатель КАК Показатель,
			|			Факт.Подразделение КАК Подразделение,
			|			Факт.Сотрудник КАК Сотрудник,
			|			Факт.ПериодДействия КАК ПериодДействия,
			|			МАКСИМУМ(Факт.Валюта) КАК Валюта,
			|			СУММА(ЕСТЬNULL(Факт.Значение, 0)) КАК ФактическоеЗначение,
			|			NULL КАК ПлановоеЗначение
			|		ИЗ
			|			(ВЫБРАТЬ
			|				ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель,
			|				ВЫБОР
			|					КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению)
			|						ТОГДА ВЫРАЗИТЬ(ЗначенияПоказателейСхемМотивации.Подразделение КАК Справочник.ПодразделенияОрганизаций)
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			|				КОНЕЦ КАК Подразделение,
			|				ВЫБОР
			|					КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
			|						ТОГДА ЗначенияПоказателейСхемМотивации.Сотрудник
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
			|				КОНЕЦ КАК Сотрудник,
			|				ЗначенияПоказателейСхемМотивации.ПериодДействия КАК ПериодДействия,
			|				МАКСИМУМ(ЗначенияПоказателейСхемМотивации.Валюта) КАК Валюта,
			|				СУММА(ЗначенияПоказателейСхемМотивации.Значение) КАК Значение
			|			ИЗ
			|				РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации
			|			ГДЕ
			|				ЗначенияПоказателейСхемМотивации.Организация = &ОбособленноеПодразделение
			|				И (НЕ ЗначенияПоказателейСхемМотивации.Показатель.Предопределенный)
			|				И ЗначенияПоказателейСхемМотивации.ПериодДействия = &ПарамДата
			|				И ЗначенияПоказателейСхемМотивации.Сотрудник В
			|									(ВЫБРАТЬ
			|										ВТСотрудники.Сотрудник
			|									ИЗ
			|										ВТСотрудники)
			|";*/
					if(true/*ЗначениеЗаполнено(Показатели)*/)
					{
						/*Запрос.Текст = Запрос.Текст + "
			|				И (ЗначенияПоказателейСхемМотивации.Показатель В (&Показатели))";*/
					}
					/*Запрос.Текст = Запрос.Текст + "
			|			
			|			СГРУППИРОВАТЬ ПО
			|				ЗначенияПоказателейСхемМотивации.Показатель,
			|				ВЫБОР
			|					КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению)
			|						ТОГДА ВЫРАЗИТЬ(ЗначенияПоказателейСхемМотивации.Подразделение КАК Справочник.ПодразделенияОрганизаций)
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				ВЫБОР
			|					КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
			|						ТОГДА ЗначенияПоказателейСхемМотивации.Сотрудник
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				ЗначенияПоказателейСхемМотивации.Сотрудник,
			|				ЗначенияПоказателейСхемМотивации.ПериодДействия
			|			
			|			ОБЪЕДИНИТЬ ВСЕ
			|			
			|			ВЫБРАТЬ
			|				ТаблицаЗапроса.Показатель,
			|				ВЫБОР
			|					КОГДА ТаблицаЗапроса.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению)
			|						ТОГДА ВЫРАЗИТЬ(Сотрудники.Подразделение КАК Справочник.ПодразделенияОрганизаций)
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				ВЫБОР
			|					КОГДА ТаблицаЗапроса.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
			|						ТОГДА ТаблицаЗапроса.Сотрудник
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				&ПарамДата,
			|				NULL,
			|				СУММА(0)
			|			ИЗ
			|				ВТПоказателиИСотрудники КАК ТаблицаЗапроса
			|					ЛЕВОЕ СОЕДИНЕНИЕ ВТСотрудники КАК Сотрудники
			|					ПО (Сотрудники.Сотрудник = ТаблицаЗапроса.Сотрудник)
			|			
			|			СГРУППИРОВАТЬ ПО
			|				ВЫБОР
			|					КОГДА ТаблицаЗапроса.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению)
			|						ТОГДА ВЫРАЗИТЬ(Сотрудники.Подразделение КАК Справочник.ПодразделенияОрганизаций)
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				ВЫБОР
			|					КОГДА ТаблицаЗапроса.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
			|						ТОГДА ТаблицаЗапроса.Сотрудник
			|					ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
			|				КОНЕЦ,
			|				ТаблицаЗапроса.Показатель) КАК Факт
			|		
			|		СГРУППИРОВАТЬ ПО
			|			Факт.Показатель,
			|			Факт.Подразделение,
			|			Факт.Сотрудник,
			|			Факт.ПериодДействия
			|		
			|		ОБЪЕДИНИТЬ
			|		
			|		ВЫБРАТЬ
			|			ПЛАН.Показатель,
			|			ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка),
			|			ВЫБОР
			|				КОГДА ПЛАН.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный)
			|					ТОГДА ПЛАН.Сотрудник
			|				ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
			|			КОНЕЦ,
			|			ПЛАН.ПериодДействия,
			|			ВЫБОР
			|				КОГДА ПЛАН.Валюта = НЕОПРЕДЕЛЕНО
			|					ТОГДА NULL
			|				ИНАЧЕ ПЛАН.Валюта
			|			КОНЕЦ,
			|			NULL,
			|			ЕСТЬNULL(ПЛАН.Значение, 0)
			|		ИЗ
			|			ВТПлановыеПоказатели КАК ПЛАН) КАК ВложеннаяТаблица
			|	
			|	СГРУППИРОВАТЬ ПО
			|		ВложеннаяТаблица.Показатель,
			|		ВложеннаяТаблица.Подразделение,
			|		ВложеннаяТаблица.Сотрудник,
			|		ВложеннаяТаблица.ПериодДействия) КАК ИтоговаяТаблица
			|ГДЕ
			|	ИтоговаяТаблица.Показатель.ВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно)
			|
			|СГРУППИРОВАТЬ ПО
			|	ИтоговаяТаблица.Подразделение,
			|	ИтоговаяТаблица.Сотрудник,
			|	ИтоговаяТаблица.Показатель,
			|	ИтоговаяТаблица.ПериодДействия,
			|	ИтоговаяТаблица.Валюта
			|
			|УПОРЯДОЧИТЬ ПО
			|	Подразделение,
			|	ИтоговаяТаблица.Сотрудник.Наименование,
			|	Показатель";*/
				}
			}
			return null;
		}

		public void ЗаписатьИтоговыеЗаписи(/*Показатель, Организация, ПериодДействия*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("парамПериодРегистрации", ПериодДействия);
			//Запрос.УстановитьПараметр("парамПоказатель", Показатель);
			//Запрос.УстановитьПараметр("Организация", Организация);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ПоказателиСхемМотивации.СуммируемыйПоказатель КАК СуммируемыйПоказатель,
	|	ПоказателиСхемМотивации.СпособРасчетаСуммы,
	|	ПоказателиСхемМотивации.Ссылка КАК Показатель
	|ПОМЕСТИТЬ ВТПоказатели
	|ИЗ
	|	Справочник.ПоказателиСхемМотивации КАК ПоказателиСхемМотивации
	|ГДЕ
	|	ПоказателиСхемМотивации.СуммируемыйПоказатель В(&парамПоказатель)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СуммируемыйПоказатель
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Показатели.Показатель КАК Показатель,
	|	ЕСТЬNULL(ИтогПоСотрудникам.Значение, 0) КАК ЗначениеИтогаПоСотрудникам,
	|	ИтогПоОрганизациям.Организация,
	|	ЕСТЬNULL(ИтогПоОрганизациям.Значение, 0) КАК ЗначениеИтогаПоОрганизациям,
	|	ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение
	|ИЗ
	|	ВТПоказатели КАК Показатели
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель,
	|			ЗначенияПоказателейСхемМотивации.Организация КАК Организация,
	|			СУММА(ЗначенияПоказателейСхемМотивации.Значение) КАК Значение
	|		ИЗ
	|			РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации
	|		ГДЕ
	|			ЗначенияПоказателейСхемМотивации.Показатель В
	|					(ВЫБРАТЬ
	|						ВТПоказатели.СуммируемыйПоказатель
	|					ИЗ
	|						ВТПоказатели КАК ВТПоказатели
	|					ГДЕ
	|						ВТПоказатели.СпособРасчетаСуммы = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСуммыПоказателей.ПоОрганизации))
	|			И ЗначенияПоказателейСхемМотивации.ПериодДействия >= НАЧАЛОПЕРИОДА(&парамПериодРегистрации, МЕСЯЦ)
	|			И ЗначенияПоказателейСхемМотивации.ПериодДействия <= КОНЕЦПЕРИОДА(&парамПериодРегистрации, МЕСЯЦ)
	|			И ЗначенияПоказателейСхемМотивации.Организация = &Организация
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ЗначенияПоказателейСхемМотивации.Организация,
	|			ЗначенияПоказателейСхемМотивации.Показатель) КАК ИтогПоОрганизациям
	|		ПО Показатели.СуммируемыйПоказатель = ИтогПоОрганизациям.Показатель
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель,
	|			СУММА(ЗначенияПоказателейСхемМотивации.Значение) КАК Значение
	|		ИЗ
	|			РегистрСведений.ЗначенияПоказателейСхемМотивации КАК ЗначенияПоказателейСхемМотивации
	|		ГДЕ
	|			ЗначенияПоказателейСхемМотивации.Показатель В
	|					(ВЫБРАТЬ
	|						ВТПоказатели.СуммируемыйПоказатель
	|					ИЗ
	|						ВТПоказатели КАК ВТПоказатели
	|					ГДЕ
	|						ВТПоказатели.СпособРасчетаСуммы = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСуммыПоказателей.ПоВсемСотрудникам))
	|			И ЗначенияПоказателейСхемМотивации.ПериодДействия >= НАЧАЛОПЕРИОДА(&парамПериодРегистрации, МЕСЯЦ)
	|			И ЗначенияПоказателейСхемМотивации.ПериодДействия <= КОНЕЦПЕРИОДА(&парамПериодРегистрации, МЕСЯЦ)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ЗначенияПоказателейСхемМотивации.Показатель) КАК ИтогПоСотрудникам
	|		ПО Показатели.СуммируемыйПоказатель = ИтогПоСотрудникам.Показатель";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ИтоговаяЗапись = РегистрыСведений.ЗначенияПоказателейСхемМотивации.СоздатьМенеджерЗаписи();
				//ИтоговаяЗапись.Показатель = Выборка.Показатель;
				//ИтоговаяЗапись.ПериодДействия = ПериодДействия;
				if(true/*ЗначениеЗаполнено(Выборка.ЗначениеИтогаПоСотрудникам)*/)
				{
					//ИтоговаяЗапись.Значение = Выборка.ЗначениеИтогаПоСотрудникам;
					//ИтоговаяЗапись.Подразделение = Выборка.Подразделение;
				}
				//ИтоговаяЗапись.Записать();
			}
			//;;
		}
		//ЗаписатьИтоговыеЗаписи

		public void ЗаписатьИтоговыеЗаписиПериодическихПоказателей(/*Показатель, Организация, Период*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("парамПериод", Период);
			//Запрос.УстановитьПараметр("парамПоказатель", Показатель);
			//Запрос.УстановитьПараметр("Организация", Организация);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ПоказателиСхемМотивации.СуммируемыйПоказатель КАК СуммируемыйПоказатель,
	|	ПоказателиСхемМотивации.СпособРасчетаСуммы,
	|	ПоказателиСхемМотивации.Ссылка КАК Показатель
	|ПОМЕСТИТЬ ВТПоказатели
	|ИЗ
	|	Справочник.ПоказателиСхемМотивации КАК ПоказателиСхемМотивации
	|ГДЕ
	|	ПоказателиСхемМотивации.СуммируемыйПоказатель В(&парамПоказатель)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СуммируемыйПоказатель
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Показатели.Показатель КАК Показатель,
	|	ЕСТЬNULL(ИтогПоСотрудникам.Значение, 0) КАК ЗначениеИтогаПоСотрудникам,
	|	ИтогПоОрганизациям.Организация,
	|	ЕСТЬNULL(ИтогПоОрганизациям.Значение, 0) КАК ЗначениеИтогаПоОрганизациям,
	|	ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение
	|ИЗ
	|	ВТПоказатели КАК Показатели
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель КАК Показатель,
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Организация КАК Организация,
	|			СУММА(ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение) КАК Значение
	|		ИЗ
	|			РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(
	|					&парамПериод,
	|					Организация = &Организация
	|						И Показатель В
	|							(ВЫБРАТЬ
	|								ВТПоказатели.СуммируемыйПоказатель
	|							ИЗ
	|								ВТПоказатели КАК ВТПоказатели
	|							ГДЕ
	|								ВТПоказатели.СпособРасчетаСуммы = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСуммыПоказателей.ПоОрганизации))) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних
	|		ГДЕ
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель В
	|					(ВЫБРАТЬ
	|						ВТПоказатели.СуммируемыйПоказатель
	|					ИЗ
	|						ВТПоказатели КАК ВТПоказатели
	|					ГДЕ
	|						ВТПоказатели.СпособРасчетаСуммы = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСуммыПоказателей.ПоОрганизации))
	|			И ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Организация = &Организация
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Организация,
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель) КАК ИтогПоОрганизациям
	|		ПО Показатели.СуммируемыйПоказатель = ИтогПоОрганизациям.Показатель
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель КАК Показатель,
	|			СУММА(ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение) КАК Значение
	|		ИЗ
	|			РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(
	|					&парамПериод,
	|					Показатель В
	|						(ВЫБРАТЬ
	|							ВТПоказатели.СуммируемыйПоказатель
	|						ИЗ
	|							ВТПоказатели КАК ВТПоказатели
	|						ГДЕ
	|							ВТПоказатели.СпособРасчетаСуммы = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСуммыПоказателей.ПоВсемСотрудникам))) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель) КАК ИтогПоСотрудникам
	|		ПО Показатели.СуммируемыйПоказатель = ИтогПоСотрудникам.Показатель";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ИтоговаяЗапись = РегистрыСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СоздатьМенеджерЗаписи();
				//ИтоговаяЗапись.Период = Период;
				//ИтоговаяЗапись.Показатель = Выборка.Показатель;
				if(true/*ЗначениеЗаполнено(Выборка.ЗначениеИтогаПоСотрудникам)*/)
				{
					//ИтоговаяЗапись.Значение = Выборка.ЗначениеИтогаПоСотрудникам;
				}
				//ИтоговаяЗапись.Записать();
			}
			//;;
		}
		//ЗаписатьИтоговыеЗаписи

		public void ПриЗаписиПериодическихПоказателей(/*Отбор, Отказ, Замещение*/)
		{
			//Показатель		= Отбор.Показатель.Значение;
			if(true/*ЗначениеЗаполнено(Показатель)*/)
			{
				if(true/*Показатель.ТипПоказателя <> Перечисления.ТипыПоказателейСхемМотивации.СуммаПоказателя*/)
				{
					//Организация = Отбор.Организация.Значение;
					//Период	= Отбор.Период.Значение;
					//ЗаписатьИтоговыеЗаписиПериодическихПоказателей(Показатель, Организация, Период);
				}
			}
		}

		public void ПриЗаписи(/*Отбор, Отказ, Замещение*/)
		{
			//Показатель		= Отбор.Показатель.Значение;
			if(true/*ЗначениеЗаполнено(Показатель)*/)
			{
				if(true/*Показатель.ТипПоказателя <> Перечисления.ТипыПоказателейСхемМотивации.СуммаПоказателя*/)
				{
					//Организация = Отбор.Организация.Значение;
					//ПериодДействия	= Отбор.ПериодДействия.Значение;
					//ЗаписатьИтоговыеЗаписи(Показатель, Организация, ПериодДействия);
				}
			}
		}

		public object ВидимостьВалютыУстановлена(/*КолонкаВалюта, мРежимВводаПоказателей*/)
		{
			if(true/*мРежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности*/)
			{
				//КолонкаВалюта.Видимость = глЗначениеПеременной("глЕстьВалютныеПоказатели");
			}
			return null;
		}

		public object ВидимостьВалютыПоДополнительномуУсловию(/**/)
		{
			return null;
		}

		public object ОткрытьФормуВыбораСотрудникаПоДополнительномуУсловию(/*Элемент, СтандартнаяОбработка, РегистрСведенийМенеджерЗаписи, РежимВводаПоказателей*/)
		{
			if(true/*РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности*/)
			{
				//ПроцедурыУправленияПерсоналомПереопределяемый.ОткрытьФормуВыбораСотрудника(Элемент, Элемент.Значение, Истина, РегистрСведенийМенеджерЗаписи.ПериодДействия);
			}
			return null;
		}
		// ОткрытьФормуВыбораСотрудникаПоДополнительномуУсловию

		public object ПодобратьСотрудникаПоДополнительномуУсловию(/*Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка, РежимВводаПоказателей*/)
		{
			if(true/*РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности*/)
			{
				//ТекстАвтоПодбора = ПроцедурыУправленияПерсоналомДополнительный.ПодобратьФИОСотрудника(СтандартнаяОбработка, "Работники", Текст);
			}
			return null;
		}
		// ПодобратьСотрудникаПоДополнительномуУсловию

		public object ПодобратьСписокСотрудниковПоДополнительномуУсловию(/*Элемент, Текст, Значение, СтандартнаяОбработка, РежимВводаПоказателей*/)
		{
			if(true/*РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности*/)
			{
				//Значение = ПроцедурыУправленияПерсоналомДополнительный.ПодобратьСписокСотрудников(СтандартнаяОбработка, "Работники", Текст, Элемент.Значение);
			}
			return null;
		}
		// ПодобратьСписокСотрудниковПоДополнительномуУсловию
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМЫ СПИСКА

		public void ПриСозданииФормыСписка(/*Форма*/)
		{
			//УправлениеПоказателямиСхемМотивации.ПриСозданииФормыСпискаЕжемесячныхПоказателей(Форма, Форма.РегистрСведенийСписок);
		}
		// Процедура - обработчик события "ПередОткрытиемФормыСписка" формы.
		//

		public void ПередОткрытиемФормыСписка(/*Отказ, СтандартнаяОбработка, мРежимВводаПоказателей*/)
		{
			//мРежимВводаПоказателей = ВосстановитьЗначение("РежимВводаПоказателей");
		}
		// ПередОткрытиемФормыСписка
		// Процедура - обработчик события "ПриОткрытииФормыСписка" формы.
		//

		public void ПриОткрытииФормыСписка(/*Форма, мРежимВводаПоказателей, мОрганизация, ДополнительныеДействия*/)
		{
			/*//добавим подменю управления режимом ввода показателей
*/
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
			{
				//ЭлементыФормы = Форма.ЭлементыФормы;
				//КнопкиКоманднойПанели = ЭлементыФормы.ДействияФормы.Кнопки;
				//МестоВставки = КнопкиКоманднойПанели.Индекс(КнопкиКоманднойПанели.Найти("ДействиеСправка"));
				//ПодменюПорядокФормированияСМ = КнопкиКоманднойПанели.Вставить(МестоВставки, "ПорядокФормированияСМ", ТипКнопкиКоманднойПанели.Подменю, "Режим формирования схем мотивации");
				//ПодменюПорядокФормированияСМ.Кнопки.Добавить("ПоОрганизациям", 	ТипКнопкиКоманднойПанели.Действие, "По структуре юридических лиц", 	ДополнительныеДействия);
				//ПодменюПорядокФормированияСМ.Кнопки.Добавить("ПоЦФО", 			ТипКнопкиКоманднойПанели.Действие, "По центрам ответственности", 	ДополнительныеДействия);
				//КнопкиКоманднойПанели.Вставить(МестоВставки + 1, "Разделитель15", ТипКнопкиКоманднойПанели.Разделитель);
				if(true/*мРежимВводаПоказателей = Неопределено ИЛИ мРежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц*/)
				{
					//ЗначенияПоказателейСхемМотивацииДополнительный.ПереключитьРежимВводаПоказателейПоОрганизациям(мРежимВводаПоказателей, мОрганизация, Форма, Форма.РегистрСведенийСписок.Отбор);
				}
				//ПодменюПорядокФормированияСМ.Кнопки.ПоЦФО.Пометка = НЕ мРежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц;
				//ПодменюПорядокФормированияСМ.Кнопки.ПоОрганизациям.Пометка = мРежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц;
			}
		}
		// ПриОткрытииФормыСписка
		// Процедура - обработчик события "ПриЗакрытии" формы.
		//

		public void ПриЗакрытииФормыСписка(/*мРежимВводаПоказателей*/)
		{
			//СохранитьЗначение("РежимВводаПоказателей", мРежимВводаПоказателей);
		}
		// ПриЗакрытии

		public void ВыполнитьДополнительныеДействия(/*Кнопка, мРежимВводаПоказателей, мОрганизация, Форма, Отбор*/)
		{
			if(true/*Кнопка.Имя = "ПоОрганизациям"*/)
			{
				//ЗначенияПоказателейСхемМотивацииДополнительный.ПереключитьРежимВводаПоказателейПоОрганизациям(мРежимВводаПоказателей, мОрганизация, Форма, Отбор);
			}
		}

		public object ВыполняетсяДополнительноеУсловие(/**/)
		{
			return null;
		}

		public void РегистрСведенийСписокПередНачаломИзменения(/*Элемент, Отказ, Форма*/)
		{
			//УправлениеПоказателямиСхемМотивации.СписокЕжемесячныхПоказателейПередНачаломИзменения(Элемент, Отказ, Форма);
		}

		public void РегистрСведенийСписокПередУдалением(/*Элемент, Отказ, Форма*/)
		{
			//УправлениеПоказателямиСхемМотивации.СписокЕжемесячныхПоказателейПередУдалением(Элемент, Отказ, Форма);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМЫ ЗАПИСИ

		public void ПриОткрытииФормыЗаписи(/*Форма*/)
		{
			/*// определяем режим ввода показателей
*/
			//РежимВводаПоказателей = Форма.РежимВводаПоказателей;
			if(true/*РежимВводаПоказателей = Неопределено*/)
			{
				if(true/*ЗначениеЗаполнено(Форма.Организация)*/)
				{
					//РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц;
				}
				//Форма.РежимВводаПоказателей = РежимВводаПоказателей;
			}
			/*// ограничиваем тип реквизита Подразделение
*/
			if(true/*Форма.Подразделение = Неопределено*/)
			{
				//ОписаниеТипа = Новый ОписаниеТипов(?(РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц, "СправочникСсылка.ПодразделенияОрганизаций", "СправочникСсылка.Подразделения"));
				//Форма.Подразделение = ОписаниеТипа.ПривестиЗначение(Форма.Подразделение);
			}
		}

		public void УправлениеЭлементамиФормыДополнительно(/*ЭтаФорма*/)
		{
			//РежимВводаПоЦФО = ЗначенияПоказателейСхемМотивацииДополнительный.РежимВводаПоЦФО(ЭтаФорма.РежимВводаПоказателей);
			if(true/*РежимВводаПоЦФО*/)
			{
				//ЭтаФорма.ЭлементыФормы.ПанельОрганизация.Свертка	= РежимСверткиЭлементаУправления.Верх;
			}
		}

		public object РежимВводаПоОрганизациям(/*мРежимВводаПоказателей*/)
		{
			return null;
		}

		public object ПустоеПодразделение(/*Форма*/)
		{
			//Возврат ?(Форма.РежимВводаПоказателей = Перечисления.ВидыОрганизационнойСтруктурыПредприятия.ПоСтруктуреЮридическихЛиц, Справочники.ПодразделенияОрганизаций.ПустаяСсылка(), Справочники.Подразделения.ПустаяСсылка());
			return null;
		}
	}
}
